package cn.kgc.spring.proxy;

import cn.kgc.spring.entity.User;
import cn.kgc.spring.service.UserService;
import cn.kgc.spring.service.UserServiceImpl;

/**
 * @author: mosin
 * @version: v1.0  2022/7/2
 * 用户业务层的静态代理类
 * 1.实现相同的接口
 * 2. 注入原始类
 *
 *优点：
 *  1. 实现了不修改原始增强原始类的功能
 *  2. 实现方式 直观明了
 * 缺点：
 *  1. 增加了代码的维护量  后期代码维护非常困难
 */
public class UserServiceImplStaticProxy implements UserService {

    //原始类
    private UserServiceImpl userService = new UserServiceImpl();

    @Override
    public boolean addUser(User user) {
        //添加日志的打印功能
        System.out.println("-------log----------");
        // 调用原始类中添加用户的方法  核心业务
        userService.addUser(user);
        return false;
    }

    @Override
    public Integer delete(Integer id) {
        return null;
    }
}
